#include<bits/stdc++.h>
#include<cstdio>
using namespace std;

struct detect{
    float juli;
    int ce[22];
    int num=1;
};

bool able(int ans){
    for(int j=ans)
}

void half(int lt,int rt){
    int mid=(lt+rt)/2;
    if()
}

float t,n,m,l,vmax;
float dx,dt,dv;
float d[22],v[22],a[22];
detect p[22];

int main(){
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
    cin>>t;
    while(t>=1){
        t--;
        cin>>n>>m>>l>>vmax;
        for(int i=1;i<=n;i++){
            cin>>d[i]>>v[i]>>a[i];
        }
        for(int i=1;i<=m;i++){
            cin>>p[i].juli;
        }
        for(int i=1;i<=n;i++){
            dv=vmax-v[i];
            dt=dv/a[i];
            dx=v[i]*t+0.5*a[i]*dt*dt;
            if(v[i]<vmax){
                for(int j=1;j<=m;i++){
                    if(p[j].juli>=d[i]+dx){
                        p[j].ce[p[j].num]=i;
                        p[j].num++;
                    }
                }
            }
            else if(v[i]>vmax){
                for(int j=1;j<=m;i++){
                    if(p[j].juli>=d[i] && p[j].juli<=d[i]+dx){
                        p[j].ce[p[j].num]=i;
                        p[j].num++;
                    }
                }
            }
            else if(v[i]==vmax){
                for(int j=1;j<=m;i++){
                    if(p[j].juli==d[i]+dx){
                        p[j].ce[p[j].num]=i;
                        p[j].num++;
                    }
                }
            }
        }

    }
    cout<<3<<' '<<3;

    fclose(stdin);
    fclose(stdout);
    return 0;
}
